package org.hank.compose_yyzs.db.converters

import androidx.room.TypeConverter
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import org.hank.compose_yyzs.bean.ProjectTreeNode
import org.hank.compose_yyzs.bean.UnUploadFile

//  ┏┓　　　┏┓
//┏┛┻━━━┛┻┓
//┃　　　　　　　┃
//┃　　　━　　　┃
//┃　┳┛　┗┳　┃
//┃　　　　　　　┃
//┃　　　┻　　　┃
//┃　　　　　　　┃
//┗━┓　　　┏━┛
//    ┃　　　┃                  神兽保佑
//    ┃　　　┃                  永无BUG！
//    ┃　　　┗━━━┓
//    ┃　　　　　　　┣┓
//    ┃　　　　　　　┏┛
//    ┗┓┓┏━┳┓┏┛
//      ┃┫┫　┃┫┫
//      ┗┻┛　┗┻┛
/**
 *@auth: Hank
 *邮箱: cs16xiaoc1@163.com
 *创建时间: 2023/11/10 11:17
 *描述:
 */
object ProjectTreeTypeConverter {
    @TypeConverter
    fun toList(str: String): MutableList<ProjectTreeNode> {
        return Gson().fromJson(str, object : TypeToken<MutableList<ProjectTreeNode>>() {}.type)
    }

    @TypeConverter
    fun toString(lists: MutableList<ProjectTreeNode>): String {
        return Gson().toJson(lists)
    }

    @TypeConverter
    fun toProjectTreeNodeString(projectTreeNode : ProjectTreeNode):String{
        return Gson().toJson(projectTreeNode)
    }

    @TypeConverter
    fun toProjectTreeNode(str:String):ProjectTreeNode{
        return Gson().fromJson(str,ProjectTreeNode::class.java)
    }
}